#ifndef _YEP_ENGINE_FRAME_HANDLER_HPP
#define _YEP_ENGINE_FRAME_HANDLER_HPP

#include "../common.hpp"

namespace yep
{
    class Event;//Foward

    /**
     * @brief Occurs every frame
     **/
    class FrameHandler
    {
    public:
        virtual ~FrameHandler(){}

        /**
         * @brief Occurs on middle of the frame, after input and before collision.
         **/
        virtual void evFrame(Event &event){}

        /**
         * @brief Occurs on start of the frame, just before input.
         **/
        virtual void evFrameBegin(Event &event){}

        /**
         * @brief Occurs on end of the frame, after collision and before the drawing.
         **/
        virtual void evFrameEnd(Event &event){}
    };

}

#endif // _YEP_ENGINE_FRAME_HANDLER_HPP

